package test;

import java.rmi.RemoteException;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import rmi.NegocioRemoto;
import negocio.Administracion;
import negocio.Cliente;
import negocio.ItemRemito;
import dto.CargaDTO;
import dto.ClienteDTO;
import dto.CuentaCorrienteDTO;
import dto.DestinoDTO;
import dto.EmpresaDTO;
import dto.ManifiestoDTO;
import dto.ItemRemitoDTO;
import dto.ParticularDTO;
import dto.RemitoDTO;
import dto.SucursalDTO;
import dto.TamanioDTO;
import dto.VehiculoDTO;

public class pruebas_bd 
{
	public static void main(String[] args) 
	{
		test();
	}

	private static void test() 
	{

		List<VehiculoDTO> ve =Administracion.getInstancia().vehiculosMantenimiento();
		for (VehiculoDTO veh : ve) 
		{
			System.out.println(veh.getInfoRegistro());
		}	

		List<VehiculoDTO> v = Administracion.getInstancia().vehiculosSinMantenimiento();
		for (VehiculoDTO veh : v) 
		{
			System.out.println(veh.getInfoRegistro());
			System.out.println(veh.getIdVehiculo());
		}
		
		//String [] ids = {"2"};
		//Administracion.getInstancia().agregarOperacionMantenimiento(ids);
		
		/*ParticularDTO particular = new ParticularDTO() ;
		particular.setDNI("15475359");
		ParticularDTO p = Administracion.getInstancia().getParticular(particular);
		System.out.println(p.getDNI());*/
		
		
		/*EmpresaDTO empresa = new EmpresaDTO();
		empresa.setCUIT("335496479");
		EmpresaDTO e = Administracion.getInstancia().getEmpresa(empresa);
		System.out.println(e.getRazonSocial());*/
		
		EmpresaDTO emp = new EmpresaDTO();
		CuentaCorrienteDTO cc = new CuentaCorrienteDTO();
		
		cc.setFechaApertura(Calendar.getInstance().getTime());
		cc.setSaldo(75);
		//cc.setId(1);
		emp.setCuentaCorriente(cc);
		emp.setCUIT("98657");
		emp.setMontoMinimoAutorizacion(63);
		emp.setRazonSocial("pruebaAndaONo");
		Administracion.getInstancia().agregarEmpresa(emp);
		
		List<ParticularDTO> parts = Administracion.getInstancia().getParticularList();
		System.out.println(parts.size());
		List<EmpresaDTO> emps = Administracion.getInstancia().getEmpresaList();
		System.out.println(emps.size());
		
		List<TamanioDTO> tams = Administracion.getInstancia().getTamanios();
		System.out.println(tams.size());
		
		//List<SucursalDTO> sucursales = Administracion.getInstancia().getSucursales();
		
		ParticularDTO par = new ParticularDTO();
		par.setApellido("Lopez");
		par.setDNI("372659234");
		par.setNombre("Pablo");
		Administracion.getInstancia().agregarParticular(par);
		
		List<SucursalDTO> sucs = Administracion.getInstancia().getSucursales();
		System.out.println(sucs.size());
		
		System.out.println("total envios penditnes de pago");
		EmpresaDTO emp2 = new EmpresaDTO();
		emp2.setCUIT("123");
		System.out.println(Administracion.getInstancia().enviosPendienteDePago(emp2).size());
		
		System.out.println("cargas pendientes de facturar");
		List<CargaDTO> cargas = Administracion.getInstancia().cargasPendientesFacturar();
		System.out.println(cargas.size());
		for(CargaDTO c: cargas)
		{
		  System.out.println(c.getId());
		  System.out.println(c.getDescripcionCarga());
		  System.out.println(c.getPeso());
		  System.out.println(c.getCosto());
		}

		/*List<VehiculoDTO> v = Administracion.getInstancia().vehiculosSinMantenimiento();
		for (VehiculoDTO veh : v) 
		{
			System.out.println(veh.getInfoRegistro());
		}*/		
		
		/*List<VehiculoDTO> v = Administracion.getInstancia().vehiculosSinMantenimiento();
		for (VehiculoDTO veh : v) 
		{
			System.out.println(veh.getInfoRegistro());
		}*/
		
		//String [] ids = {"2"};
		//Administracion.getInstancia().agregarOperacionMantenimiento(ids);
		
		/*ParticularDTO particular = new ParticularDTO() ;
		particular.setDNI("15475359");
		ParticularDTO p = Administracion.getInstancia().getParticular(particular);
		System.out.println(p.getDNI());*/
		
		
		/*EmpresaDTO empresa = new EmpresaDTO();
		empresa.setCUIT("335496479");
		EmpresaDTO e = Administracion.getInstancia().getEmpresa(empresa);
		System.out.println(e.getRazonSocial());*/
		
		
		CargaDTO carga = new CargaDTO();
		carga.setDestino(null);
		carga.setCliente(null);
		carga.setManifiesto(null);
		TamanioDTO tam = new TamanioDTO();
		tam.setVolumen(500);
		carga.setTamanio(tam);
	
		Administracion.getInstancia().agregarCarga(carga);
		
		RemitoDTO rem = new RemitoDTO();
		ClienteDTO c= new ClienteDTO();
		c.setId(1);
		rem.setCliente(c);
		rem.setId(1);
		System.out.println(Administracion.getInstancia().pagarFactura(rem));
		
//		CargaDTO c = new CargaDTO();
	//	Administracion.getInstancia().agregarCarga(carga);
	}
}